#ifndef HPLC_QINFINE_SENDCOMMONSYSTEMPACKET_H
#define HPLC_QINFINE_SENDCOMMONSYSTEMPACKET_H

#include "basesendpacket.h"

namespace hplc
{
namespace qinfine
{

class HplcQinfineProtocolCommonData;
class HplcQinfineSendCommonSystemPacket
{
public:
    HplcQinfineSendCommonSystemPacket(HplcQinfineProtocolCommonData &data);

    void setReset();
    void setRestoreDefault(quint8 flag);
    void setSaveAsDefault();
    void setSuperPassword(char *str);
    void getSuperPassword();
    void getSoftwareVersion();
    void getHardwareVersion();
    void setProductDate(char *str);
    void getProductDate();
    void setSerialNumber(char *str);
    void getSerialNumber();
    void setModel(quint8 model);
    void getModel();
    void setModelString(char *str);
    void getModelString();
    void setUsedTime(quint32 time);
    void getUsedTime();
    void getAllData();
    void setProtocol(quint8 protocol);
    void getProtocol();
    void setRandomCode(quint32 randomCode);
    void getRandomCode();
    void setActiveCode(quint32 activeCode);
    void getActiveCode();
    void setUsefulDays(quint16 usefulDays);
    void getUsefulDays();
    void setPowerOnInfo(quint8 code, char *info);

protected:
    HplcQinfineProtocolCommonData *m_d = nullptr;
};

} // qinfine
} // hplc

#endif // HPLC_QINFINE_SENDCOMMONSYSTEMPACKET_H
